package com.jr.mapper;

import com.jr.vo.PaymentsVehiclesParkingRecordsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 支付记录、车辆和停车记录关联查询的Mapper接口
 */
@Mapper
public interface PaymentsVehiclesParkingRecordsMapper {

    /**
     * 分页模糊查询支付记录、车辆和停车记录信息
     * @param plateNumber 车牌号（模糊查询）
     * @param status 支付状态（模糊查询）
     * @param entryTime 入场时间（模糊查询）
     * @param exitTime 出场时间（模糊查询）
     * @return 查询结果列表
     */
    List<PaymentsVehiclesParkingRecordsVo> findPaymentsByPage(
            @Param("plateNumber") String plateNumber,
            @Param("status") Integer status,
            @Param("entryTime") String entryTime,
            @Param("exitTime") String exitTime
    );

    /**
     * 查询符合条件的支付记录总数（用于分页）
     * @param plateNumber 车牌号（模糊查询）
     * @param status 支付状态（模糊查询）
     * @param entryTime 入场时间（模糊查询）
     * @param exitTime 出场时间（模糊查询）
     * @return 符合条件的记录总数
     */
    Integer countPayments(
            @Param("plateNumber") String plateNumber,
            @Param("status") Integer status,
            @Param("entryTime") String entryTime,
            @Param("exitTime") String exitTime
    );
}